-
Notifications
You must be signed in to change notification settings - Fork 37
Install extra/ directory, and configure .natvis files on Windows #89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Let's leave BOOST_INSTALL_INCLUDE_SUBDIR alone and (always, regardless of layout) install into CMAKE_INSTALL_DATADIR/boost-1.90.0. I'll take a look at the rest later. |
|
It makes more sense to have matching installation for |
|
No, I don't think it does. The include subdir is maintained for consistency with I don't think that dumping all the So to avoid dumping random things into |
|
Understood, I can make that change, and remove the configurability from it. |
da55c3f to
9d467f4
Compare
|
You have legitimate CI failures if you haven't noticed: That's probably because when e.g. BOOST_SKIP_INSTALL_RULES is set, EXTRA_INSTALL_DIRECTORY is empty, and your check in boost_install_target precedes the check for BOOST_SKIP_INSTALL_RULES (because boost_install_target does more than just install, and those other things aren't skipped when BOOST_SKIP_INSTALL_RULES is set.) |
… INTERFACE_SOURCES
|
Thank you Braden for your work on this. I think this is ready to merge and will do so a bit later. |
|
Great thank you |
|
I'm playing with this, and I notice that the installed Assert doesn't have the .natvis file - because it's added as a PRIVATE source. Fair enough. When I make it PUBLIC, it appears in the imported target's sources, and the path to it seems correct. But this gets me thinking. I also add the headers to Boost::assert, also as PRIVATE. So you get them in the project if you use Maybe we should also apply the same treatment to (a) sources in (Keeping the scope of this patch limited to |
|
I also wonder why I'm checking for CMake 3.19 here https://github.com/boostorg/assert/blob/5dcb2af5213ae132b7531e45e7f93258cc33ffd8/CMakeLists.txt#L20 Perhaps the CMake documentation was wrong when I looked at it, because now neither Also, given that the original issue that prompted all this wants |
I think I agree with that, depending on whether the installed headers would be transitively added to any VS projects that link to the installed Boost library. Definitely worth a discussion, and looking into further.
I was wondering that a while back too, and I assumed that it was for
I think it will work as-is. I don't see the check for the VS generator, I see a check for MSVC here. That should work regardless of generator. |
|
Got it. Then yes, I agree that this check is too conservative, and it should probably check for |
|
I am experimenting with adding the sources unconditionally for Assert, to see what would happen. I had to change the https://github.com/boostorg/assert/actions/runs/18620181915/job/53090281688 So I did: Incidentally, this is still not wide enough, as it only works for sources immediately in And now (thanks to Alexander Grund's CI improvements) I have the answer to why I wanted CMake 3.19 in the check: https://github.com/boostorg/cmake/actions/runs/18626891304/job/53106142673 I wonder what's the right thing here, switch to INTERFACE sources, or add back the version check (with a comment that explains why it's there :-)). |
|
Oh, but using INTERFACE sources for the header files will require that we fixup them in |
Follow-up of #81